gnu_pttfandomcom_pl-20200214-history
CVS
CVS to "Concurrent Versioning System" i pozwala wiele osób pracować nad tym samym zestawem plików równocześnie. Savannah Aby korzystać z CVS trzeba się najpierw zapisać na savannah : https://savannah.gnu.org/account/register.php (Jeśli Savannah będzie narzekało na certyfikat https, to należy postąpić zgodnie z tymi instrukcjami: http://savannah.gnu.org/tls/tutorial/ ) Po zapisaniu i zalogowaniu, należy wyszukać naszą grupę i dokonać "request for inclusion": https://savannah.nongnu.org/my/groups.php?words=www-pl#searchgroup W zależności od pory dnia może zająć od kilku minut do kilku dni aż zostaniemy zatwierdzeni. W międzyczasie możemy stworzyć/zaimportować klucze do Savannah, oraz korzystać z przeglądarki http://cvs.savannah.gnu.org/viewvc/www-pl/?root=www-pl . CVS na systemie MS Windows Ta część skupi się na graficznym programie TortoiseCVS. Jeśli ktoś jest miłośnikiem wierszu poleceń, można zainstalować cvs pod Cygwin. Dalsze instrukcje (generowanie klucza, cvs checkout itd.), jak pod Ubuntu. Instalacja TortoiseCVS i WinMerge Ściągnij bieżącą stabilną wersję TortoiseCVS ze strony: http://prdownloads.sourceforge.net/tortoisecvs/TortoiseCVS-1.10.10.exe Przy instalacji, zostaw wszystkie opcje jak domyślnie (będzie się też samo instalowało Microsoft Visual C++ 2005 Redistributable oraz CVSNT - te programy są niezbędne do poprawnego działania TortoiseCVS). Można dużo szybciej wysyłać/odbierać pliki zmieniając jedną opcję w następujący sposób: "Start" -> "All Programs" -> "TortoiseCVS" -> "Preferences" -> "Advanced" -> "Network Compression": "9 - Best". Ściągnij bieżącą stabilną wersję WinMerge ze strony: http://downloads.sourceforge.net/winmerge/WinMerge-2.12.4-Setup.exe Przy instalacji, możesz zostawić jako "Typical Installation", wybrać "Don't create a Start Menu folder", usunąć haczyk z "Create a Quick Launch icon". Na koniec, nie potrzebujemy "Launch WinMerge". Konfiguracja TortoiseCVS do pracy z naszym repozytorium frame|CVS Checkout... Generowanie i importowanie klucza SSH Savannah używa systemu kluczy aby uwierzytelniać użytkowników. Nie jest to może najłatwiejszy sposób ale jest bardzo bezpieczny. Najpierw trzeba wygenerować klucz dsa, a to robi program puttygen.exe, który można znaleźć w C:\Program Files\TortoiseCVS. Otwórz puttygen.exe, i pod "Parameters" wybrać "SSH-2 DSA". Kliknij "Generate". Poruszaj trochę myszą w oknie puttygen aż program będzie miał wystarczająco losowych danych. Gdy skończy, potrzebujemy 2 rzeczy z tego okna: #Na górze okna jest tekst zaczynający się od ssh-dss. To jest Twój "public key". Będzie potrzebny za około 2 minuty. Skopiuj to do notatnika i zapisać jako "id_dsa.pub.txt" np. w folderze C:\gnu. #Możesz za pomocą hasła zaszyfrować swój "private key". Nie jest to konieczne jeśli nikt inny nie ma dostępu do Twojego komputera (np. jest za hasłem, lub masz cały dysk zaszyfrowany). Wpisz (jeśli chcesz) hasło do "Key passphrase" i do "Confirm passphrase", a potem wybierz "Save private key". Ten plik będzie Ci potrzebny za każdym razem gdy się łączysz za pomocą CVS z Savannah, więc zapisz go np. w folderze C:\gnu i daj mu nazwę "savannah.ppk". Gdy już masz zapisane te dwa pliki, możesz zamknąć PuTTY Key Generator. Zaloguj się do Savannah i po lewo kliknij "My Account Conf". Tam znajdź "Edit SSH Public Keys". Otwórz plik id_dsa.pub.txt i wklejamy zawartość (powinna być jedna długa linijka) do pola "Key #1". Kliknij "Update" aby zatwierdzić zmiany. Podobno zajmuje do godziny aby klucz zaczął działać, więc zrób sobie zasłużoną przerwę;-). Dokonanie pierwszego "checkout" Masz już klucz i odczekałeś godzinę? Możesz teraz dokonać pierwszego "checkout". :-) Aby się logować do CVS, musi być uruchomiony program "PuTTY authentication agent", który ma w pamięci Twój "private key". Uruchom pageant.exe z folderu C:\Program Files\TortoiseCVS. Pojawi się ikona w prawym dolnym rogu. Kliknij prawym przyciskiem myszy i wybierz "Add Key". Znajdź "savannah.ppk", i podać hasło (jeśli ustawiliśmy).frame|PuTTY authentication agent Teraz wejdź w folder C:\gnu, kliknij prawym przyciskiem myszy, i zrób "CVS Checkout...". Potem wklej następujący tekst do pola CVSROOT: :ext:użytkowniczek@cvs.savannah.gnu.org:/cvsroot/www-pl oczywiście zmień nazwę użytkownika na tą od Savannah, a w polu "Module" wpisz: www-pl i kliknij "OK". Jest to około 6 MB, więc na łączu 1 Mbit może potrwać około minuty. Praca z TortoiseCVS Aby TortoiseCVS się mógł porozumieć z repozytorium Savannah, musi być uruchomiony PuTTY authentication agent i zaimportowany klucz prywatny (instrukcje wyżej). Jest kilka poleceń dostępnych z menu prawego przycisku myszy, których dobrze się nauczyć aby efektywnie pracować z CVS: CVS Update Program TortoiseCVS kontaktuje się z serwerem, pyta które pliki się zmieniły, i ściąga aktualne wersje zmienionych plików. Powyższe aktualnienie jest zalecane przed rozpoczęciem pracy nad tłumaczeniem. CVS -> Add Dodaje do lokalnego repozytorium informację, że dany nowy plik ma zostać dodany do repozytorium przy najbliższej okazji. To polecenie jest dostępne przy klikaniu na nowy plik. Jeśli się zrobiło kopię pliku .pot na plik .pl.po, trzeba właśnie za pomocą tej komendy dodać go do repozytorium. CVS Commit... Program TortoiseCVS wysyła kopię zmienionych (lub dodanych) plików na zdalny serwer. Komenda automatycznie wyszuka, które pliki się zmieniły. CVS -> History... Program TortoiseCVS kontaktuje sie z serwerem i ściąga historię danego pliku. Z poziomu okna, które się pojawi, można zrobić "diff" i (jeśli mamy zainstalowany WinMerge) wyświetlą się różnice między plikiem na naszym komputerze a wybraną zdalną wersją. CVS na systemie Ubuntu Uwaga: dla potrzeb przykładu używam nazwę użytkownika "userek". Na 99%, Twoja nazwa użytkownika nie jest "userek" ;-) Instalacja cvs Program "cvs" nie jest domyślnie zainstalowany. Możesz go zainstalować z oficjalnego repozytorium, np komendą: sudo apt-get install cvs Można dużo szybciej wysyłać/odbierać pliki włączając kompresję. Aby cvs "ciszej" chodził, włączyć kompresję i włączyć śledzenie foldeów, należy dodać te linijki do pliku ~/.cvsrc : cvs -q -z9 update -dP Konfiguracja cvs do pracy z naszym repozytorium Generowanie i importowanie klucza SSH Savannah używa systemu kluczy aby uwierzytelniać użytkowników. Nie jest to może najłatwiejszy sposób ale jest bardzo bezpieczny. Jeśli wcześniej nie zrobiłeś tego, to najpierw musisz wygenerować klucz dsa: ssh-keygen -t dsa Program zapyta gdzie zapisać... może być w /home/userek/.ssh/id_dsa... czemu nie ;-). W każdym razie zapamiętać gdzie. Potem zapyta jakim hasłem zaszyfrować klucz. Jeśli się używa komputera prywatnego, za hasłem (gdzie nikt nie dostanie się do pliku id_dsa), można hasło pozostawić puste. Wyświetli trochę ciekawych informacji. Nas interesuje: Your public key has been saved in /home/userek/.ssh/id_dsa.pub. Logujemy się do Savannah i szukamy po lewo "My Account Conf". Tam poszukaj "Edit SSH Public Keys". Otwieramy plik /home/userek/.ssh/id_dsa.pub i (ostrożnie, to jedna długa linijka) wklejamy zawartość do pola "Key #1". Kliknąć "Update" aby zatwierdzić zmiany. Podobno zajmuje do godziny aby serwery lustrzane gnu miały ten klucz, więc zrobić sobie zasłużoną przerwę ;-). Dokonanie pierwszego "checkout" Masz już klucz i odczekałeś godzinę? Możesz teraz dokonać pierwszego "checkout". Jest to około 6 MB, więc na łączu 1 Mbit może potrwać około minuty (bez kompresji, włączenie kompresji drastycznie skraca ten czas): export CVS_RSH=ssh cvs -d:ext:usereksavanny@cvs.savannah.gnu.org:/cvsroot/www-pl co www-pl Uwaga: zamienić "usereksavanny" nazwą użytkownika, którą się ma na Savannah. Praca z cvs Jest kilka komend, które trzeba się nauczyć aby pracować z cvs. Jeśli się je wykonuje z foldera www-pl, nie potrzeba całego -d:ext:... cvs update Program cvs kontaktuje się z serwerem, pyta które pliki się zmieniły, i ściąga aktualne wersje zmienionych plików. Zalecane przed rozpoczęciem pracy nad tłumaczeniem. cvs add plik Dodaje do lokalnego repozytorium informację, że dany nowy plik ma zostać dodany do repozytorium przy najbliższej okazji. Jeśli się zrobiło kopię pliku .pot na plik .pl.po, trzeba właśnie tą komendą dodać go do repozytorium. cvs commit Program cvs wysyła kopię zmienionych (lub dodanych) plików na zdalny serwer. Komenda automatycznie znajdzie, które pliki się zmieniły. Gdy znajdzie, otworzy edytor zdefiniowany w zmiennej EDITOR (domyślnie jest to nano) - wpisujemy komentarz, np. "nowe tłumaczenie home.html Jan Kowalski; czeka na recenzje" i opuszczamy edytor (zapisując zmiany). Program cvs wychwici ten komentarz i umieści na serwerze. cvs log plik Program cvs kontaktuje się z serwerem i prosi o historię modyfikacji danego pliku. Dowiadujemy się kto, kiedy i ile zmienił (i jaki komentarz zostawił). Nie wiemy jakie były zmiany. cvs diff -y -r1.1 -r1.2 plik Program cvs kontaktuje się z serwerem, ściąga wersje 1.1 i 1.2 pliku, i pokazuje obok siebie dwie wersje zaznaczając po środku znakami "<", ">" lub "|" zmiany. Można zamiast "-y" dać "-u" aby pokzazało tylko zmienione linijki i bezpośrednio z nimi sąsiadujące.